#include "chrono.h"

Chrono::Chrono() : chrono_beg(), chrono_end() {}

Chrono::~Chrono() {}

Chrono::Chrono(const Chrono &chrono) : chrono_beg(chrono.chrono_beg), chrono_end(chrono.chrono_end) {}

Chrono& Chrono::operator=(const Chrono &chrono)
{
    chrono_beg = chrono.chrono_beg;
    chrono_end = chrono.chrono_end;
    return *this;
}

void Chrono::start()
{
    ftime(&chrono_beg);
}

void Chrono::stop()
{
    ftime(&chrono_end);
}

// return the difference bertween chrono_end and chrono_beg, in millisecondes.
unsigned int Chrono::time_ms() const
{
    return 1000*(chrono_end.time - chrono_beg.time) + (chrono_end.millitm - chrono_beg.millitm);
}

